home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-21 / dvmacros.zip / DV_SEND.MAC < prev   
Text File  |  1993-03-03  |  5KB  |  167 lines

  1. .xlist
  2. ; @SEND MSG,MODIF
  3. ; Daniel T. Travison Jr.  01/01/88
  4. ; converts MSG to a valid message number and puts in BH
  5. ; converts the MODIF to a modifier number and puts in BL
  6. ; sets AH to 12h
  7. ; executes INT 15H
  8.  
  9. @SEND     MACRO  MSG,MODIF
  10.           IFIDN  <MSG>,<OBJECT>
  11.             MOV  BH,0                  ;return object handle
  12.           ELSE
  13.           IFIDN  <MSG>,<NEW>
  14.             MOV  BH,1                  ;create new object
  15.           ELSE
  16.           IFIDN  <MSG>,<FREE>
  17.             MOV  BH,2                  ;free an object
  18.           ELSE
  19.           IFIDN  <MSG>,<ADDR>
  20.             MOV  BH,3                  ;return object handle
  21.           ELSE
  22.           IFIDN  <MSG>,<READ>
  23.             MOV  BH,4                  ;return next record
  24.           ELSE
  25.           IFIDN  <MSG>,<APPLY>
  26.             MOV  BH,4                  ;write panel to window
  27.           ELSE
  28.           IFIDN  <MSG>,<WRITE>
  29.             MOV  BH,5                  ;write string to object
  30.           ELSE
  31.           IFIDN  <MSG>,<SIZEOF>
  32.             MOV  BH,8                  ;return object size
  33.           ELSE
  34.           IFIDN  <MSG>,<LEN>
  35.             MOV  BH,9                  ;return object length
  36.           ELSE
  37.           IFIDN  <MSG>,<ADDTO>
  38.             MOV  BH,10                 ;set bits
  39.           ELSE
  40.           IFIDN  <MSG>,<SUBFROM>
  41.             MOV  BH,11                 ;reset bits
  42.           ELSE
  43.           IFIDN  <MSG>,<OPEN>
  44.             MOV  BH,12                 ;open object
  45.           ELSE
  46.           IFIDN  <MSG>,<CLOSE>
  47.             MOV  BH,13                 ;close object
  48.           ELSE
  49.           IFIDN  <MSG>,<ERASE>
  50.             MOV  BH,14                 ;erase object
  51.           ELSE
  52.           IFIDN  <MSG>,<STATUS>
  53.             MOV  BH,15                 ;return object status
  54.           ELSE
  55.           IFIDN  <MSG>,<EOF>
  56.             MOV  BH,16                 ;return object EOF status
  57.           ELSE
  58.           IFIDN  <MSG>,<AT>
  59.             MOV  BH,17                 ;position object cursor
  60.           ELSE
  61.           IFIDN  <MSG>,<READLN>
  62.             MOV  BH,18                 ;return next N object bytes
  63.           ELSE
  64.           IFIDN  <MSG>,<GETSCALE>
  65.             MOV  BH,18                 ;get scale factor for pointer
  66.           ELSE
  67.           IFIDN  <MSG>,<REDRAW>
  68.             MOV  BH,19                 ;redraw window
  69.           ELSE
  70.           IFIDN  <MSG>,<SETICON>
  71.             MOV  BH,19                 ;specify pointer icon
  72.           ELSE
  73.           IFIDN  <MSG>,<SETSC>
  74.             MOV  BH,20                 ;set escape routine address
  75.           ELSE
  76.             .ERR
  77.             %OUT Invalid message type %MSG
  78.             EXITM
  79.           ENDIF
  80.           ENDIF
  81.           ENDIF
  82.           ENDIF
  83.           ENDIF
  84.           ENDIF
  85.           ENDIF
  86.           ENDIF
  87.           ENDIF
  88.           ENDIF
  89.           ENDIF
  90.           ENDIF
  91.           ENDIF
  92.           ENDIF
  93.           ENDIF
  94.           ENDIF
  95.           ENDIF
  96.           ENDIF
  97.           ENDIF
  98.           ENDIF
  99.           ENDIF
  100.           ENDIF
  101.  
  102.           IFIDN  <MODIF>,<TOS>
  103.             MOV  BL,0                  ;handle is on top of stack
  104.           ELSE
  105.           IFIDN  <MODIF>,<ME>
  106.             MOV  BL,1                  ;use task's window handle
  107.           ELSE
  108.           IFIDN  <MODIF>,<MAILTOS>
  109.             MOV  BL,2                  ;use MAILBOX as handle (TOS)
  110.           ELSE
  111.           IFIDN  <MODIF>,<MAILME>
  112.             MOV  BL,3                  ;use MAILBOX as handle (ME)
  113.           ELSE
  114.           IFIDN  <MODIF>,<KEYTOS>
  115.             MOV  BL,4                  ;use KEYBOARD as handle (TOS)
  116.           ELSE
  117.           IFIDN  <MODIF>,<KEYME>
  118.             MOV  BL,5                  ;use KEYBOARD as handle (ME)
  119.           ELSE
  120.           IFIDN  <MODIF>,<OBJQTOS>
  121.             MOV  BL,6                  ;use OBJECTQ as handle (TOS)
  122.           ELSE
  123.           IFIDN  <MODIF>,<OBJQME>
  124.             MOV  BL,7                  ;use OBJQME as handle (ME)
  125.           ELSE
  126.           IFIDN  <MODIF>,<WINDOW>
  127.             MOV  BL,8                  ;define WINDOW class
  128.           ELSE
  129.           IFIDN  <MODIF>,<MAILBOX>
  130.             MOV  BL,9                  ;define MAILBOX class
  131.           ELSE
  132.           IFIDN  <MODIF>,<KEYBOARD>
  133.             MOV  BL,10                 ;define KEYBOARD class
  134.           ELSE
  135.           IFIDN  <MODIF>,<TIMER>
  136.             MOV  BL,11                 ;define TIMER class
  137.           ELSE
  138.           IFIDN  <MODIF>,<POINTER>
  139.             MOV  BL,15                 ;define POINTER class
  140.           ELSE
  141.           IFIDN  <MODIF>,<PANEL>
  142.             MOV  BL,16                 ;define PANEL class
  143.           ELSE
  144.             .ERR
  145.             %OUT Invalid Modifier (%MODIF)
  146.             EXITM
  147.           ENDIF
  148.           ENDIF
  149.           ENDIF
  150.           ENDIF
  151.           ENDIF
  152.           ENDIF
  153.           ENDIF
  154.           ENDIF
  155.           ENDIF
  156.           ENDIF
  157.           ENDIF
  158.           ENDIF
  159.           ENDIF
  160.           ENDIF
  161.  
  162.           MOV    AH,12h
  163.           INT    15h
  164.  
  165.           ENDM
  166. .list
  167.